Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revive Fixes for Boiler: IFF Gas and Cause Data #3577

Merged
merged 16 commits into from
Jun 26, 2023

Conversation

Drulikar
Copy link
Contributor

@Drulikar Drulikar commented Jun 9, 2023

About the pull request

This PR revives #3222 since it was basically fully complete except for a few lingering cause data issues and didn't yet address boiler gibbing gas. See linked PR or changelog for more details. See Testing Photographs and Procedure for some screenshots.

The core change in this PR is that obj/effect/particle_effect/smoke/xeno_burn/Initialize now looks at the faction of the xeno that caused the smoke in the cause_data (resolve_mob would also work except for boiler gibbing smoke) to determine what faction the new smoke should be.

Explain why it's good for the game

Boilers are basically unusable currently if they aren't the normal hive. The IFF fixes to the gas allow this boiler to not hurt their own hive with their abilities.

Testing Photographs and Procedure

Screenshots & Videos

Some cause data examples:
image

IFF'd acid gas:
image
image

Boiler gibbing gas is now IFF'd too:
image
image

Changelog

🆑 TeDGamer Drathek
fix: Boilers from other hives generate proper colored IFFed gas
fix: Fixes some death causes with boiler acid gas (for bombard, shroud, and gibbing), neurotoxin gas/stabs, acid shotgun, and xeno spits
balance: Neurotoxin stops processing only in dead mobs
/:cl:

@github-actions github-actions bot added Fix Fix one bug, make ten more Balance You need to be a professional veteran game maintainer to comprehend what is being done here. labels Jun 9, 2023
@github-actions
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale beg a maintainer to review your PR label Jun 17, 2023
..(thing)
cause_data = create_cause_data("neurotoxic gas")
/datum/effects/neurotoxin/New(atom/thing, mob/from = null)
..(thing, from, effect_name)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not entirely sure why this is preferable to

Suggested change
..(thing, from, effect_name)
. = ..()
cause_data = create_cause_data(effect_name)

generally messing with the ..() signature can result in some particularly weird issues - but if this is fixing an issue i'm overlooking lmk

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The parent constructor takes four arguments, this constructor is taking two: but in the case of this we want the third argument to always be effect_name and we don't care about the fourth argument.

Also the cause_data should contain the mob from.

Ultimately changing this will mean we waste the construction of cause_data in the parent because we need to redo it if we don't provide those three arguments to the parent constructor.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently reverted this change since I think its better to reduce the amount of times cause_data is constructed.

@harryob harryob removed the Stale beg a maintainer to review your PR label Jun 17, 2023
@Drulikar Drulikar marked this pull request as draft June 18, 2023 10:15
@Drulikar Drulikar marked this pull request as ready for review June 18, 2023 11:00
@github-actions
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale beg a maintainer to review your PR label Jun 26, 2023
@morrowwolf morrowwolf added this pull request to the merge queue Jun 26, 2023
Merged via the queue into cmss13-devs:master with commit 93fbc5f Jun 26, 2023
cm13-github added a commit that referenced this pull request Jun 26, 2023
github-actions bot added a commit that referenced this pull request Jun 26, 2023
@Drulikar Drulikar deleted the Revive_Xeno_IFF_Fixes branch June 26, 2023 05:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Fix Fix one bug, make ten more Stale beg a maintainer to review your PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants